package sv.gob.mh.dgii.service.cat;


import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import sv.gob.mh.dgii.dao.cat.TbListasValorDetDao;
import sv.gob.mh.dgii.dao.hibernate.Dao;
import sv.gob.mh.dgii.model.TbListasValorDet;
import sv.gob.mh.dgii.service.BaseService;

@Service
public class TbListasValorDetServiceImpl extends BaseService implements TbListasValorDetService {

   
  @Autowired
	private TbListasValorDetDao tbListasValorDetDao;

       @Override
	public Dao getDao() {
		return tbListasValorDetDao;
	}

       @Override
	public List<TbListasValorDet> getListadoNotIn(List<String> codigos, String modulo, String lista) {
		return tbListasValorDetDao.getListadoNotIn(codigos, modulo, lista);		
	}

       @Override
	public List<TbListasValorDet> getListadoIn(List<String> codigos, String modulo, String lista) {
		return tbListasValorDetDao.getListadoIn(codigos, modulo, lista);		
	}

       @Override
	public List<TbListasValorDet> getListado(TbListasValorDet dto) {
		return tbListasValorDetDao.getListado(dto.getId().getClista(), dto.getId().getCmodulo());		
	}

	@Override
	public List<TbListasValorDet> getByExampleSystem(TbListasValorDet obj, Integer systemValue) {
		return tbListasValorDetDao.getByExampleSystem(obj, systemValue);
	}

        @Override
	public List<TbListasValorDet> getListadoRoles(TbListasValorDet obj) {
			return tbListasValorDetDao.getListadoRoles(obj);
	}

	/*@SuppressWarnings("unchecked")
	public List getEstResolByAplicacion(String clista, String cmodulo) {
		return tbListasValorDetDao.getEstResolByAplicacion(clista, cmodulo);
	}*/
        
        @Override
	public List<TbListasValorDet> getListadoSortByDescriptionDesc(String lista, String modulo) {
		return tbListasValorDetDao.getListadoSortByDescriptionDesc(lista, modulo);
	}

        @Override
	public TbListasValorDet getListaValorDet(TbListasValorDet tbListasValorDet) {		
		return tbListasValorDetDao.getListaValorDet(tbListasValorDet);
	}

        @Override
	public List<TbListasValorDet> getListadoOrderBy(TbListasValorDet obj, String orderBy) {
		return tbListasValorDetDao.getListadoOrderBy(obj.getId().getClista(), obj.getId().getCmodulo(), orderBy);		
	}

	//TODO : Implementar correctamente este metodo en el DAO
        @Override
	public List<TbListasValorDet> getEstResolByAplicacion(String caplicacion,
			String modulo) {
		// TODO Auto-generated method stub
		return null;
	}
        
        public List<TbListasValorDet> getListadoByModulo(String modulo,String clista) {
            return tbListasValorDetDao.getListadoByModulo(modulo,clista);
        }

    @Override
    public List getPage(int page, int pageSize, String sortProperty, String sortDirection, String modulo, String clista) {
        return tbListasValorDetDao.getPage(page, pageSize, sortProperty, sortDirection,modulo,  clista);
    }
    
    @Override
    public Number getAllCount(String modulo, String clista){
        return tbListasValorDetDao.getAllCount(modulo, clista);
    }
    
}